1. Field of the Invention
The present invention relates to a system and method for data processing, including database and file management. More particularly, the invention receives data structured in a markup language such as XML, and stores the data in a different, relational database format. The invention, however, responds to subsequent query input expressed in the markup language format to query the underlying relational database data and also utilizes the markup language format in outputting query results.
2. Description of the Related Art
Rapid improvements in computing technology help people to create, exchange, and process information with increasing speed and efficiency. This, however, leads to even greater volumes of data to further exchange and process. Still, computers provide the most effective tool for organizing this data and searching for items of interest.
With the advent of the Internet, and attendant need to express data in browser-compatible format, many applications format their data according to one of various markup languages. One of the most powerful markup languages is the extensible Markup Language (XML). XML is a non-mutually exclusive alternative to presentation-dependent markup languages such as HyperText Markup Language (HTML). Basically, XML is a language for creating markup languages that describe data. In contrast to HTML which describes document structure and visual presentation, XML describes data in a human readable format with no indication of how the data is to be displayed. XML is also popular due to its flexibility, and easy adaption to changing requirements. XML is said to employ a database-neutral, device-neutral format.
In any case, all data is generated with the expectation and purpose of storage for some later use. With XML data, however, there are numerous obstacles to efficiently accessing and recalling voluminous data, despite the other advantages that XML offers toward ease of exchange and presentation. One option is to store XML data in various “files”. This presents difficulties, such as the burden of universally applying changes to data across the files, and correlating related data. From the standpoint of data reliability and ease of use, “file” storage of XML data is therefore less than satisfactory. Initially, storage of XML data in a relational database or an object-relational database would appear to make sense. In other contexts, database queries are known to save countless hours of human endeavor by rapidly searching enormous machine-readable databases for user-specified data. Databases (and especially relational or object-relational databases) ensure consistent implementation of changes, provide universally identical access to different users, and organize data for particularly efficient access.
With XML data, however, relational databases are not a completely satisfactory solution. Broadly, relational databases are inherently inconsistent with XML data. Relational databases organize data into tables, rows, and columns, whereas XML organizes data into elements and sub-elements, the nature of which is inherently variable and not subject to placement in tables.
Some approaches have addressed the problem of transforming XML data into relational databases. One example is the XML-SQL utility (XSU), commercially available from the ORACLE CORPORATION. Even when XML data is transformed into relational database data, however, new problems crop up. Chiefly, it is difficult to address queries to the relational database contents, since the data have been originally supplied as XML data. In particular, the user must manually construct structured query language (SQL) queries aimed at the relational database data. To do this, however, the user must know various details about how the data is stored in the database, and must change his/her thinking from the XML data (as originally supplied) to the relational database data (in its current form). In many cases, this is inconvenient or difficult, as the data (as stored) does not correspond to the user's vision of the data, since the user is still partially thinking in terms of the XML data's completely different organization. This thinking is often perpetuated because of the user's desire to treat data retrieved from the relational database as XML data once again.
Consequently, such relational database queries can be complex and error prone. This increases the cost of accessing the data, both in terms of (1) manpower, since a more sophisticated user is required to construct difficult database queries and (2) errors, since mistakes in constructing the difficult queries yield incorrect query outputs.
Consequently, known approaches to storing XML data in a relational database systems are not completely adequate due to various unsolved problems.